/**
 * Created by Administrator on 2016/1/4.
 */
var touchModel = function () {
};
$(function () {
    touchModel = function () {
        this.init();
    }
    //全局变量，触摸开始位置
    var startX = 0, startY = 0;
    touchModel.prototype = {
        init: function () {
            this.isTouchDevice();
        },
        isTouchDevice: function () {
            try {
                document.createEvent("TouchEvent");
                console.log("支持TouchEvent事件！" + navigator.appVersion);
                this.bindEvent(); //绑定事件
            }
            catch (e) {
                alert(navigator.appVersion + "不支持TouchEvent事件！" + e.message);
            }
        },
        touchSatrtFunc: function (evt) {
            try {
                evt.preventDefault(); //阻止触摸时浏览器的缩放、滚动条滚动等

                var touch = evt.touches[0]; //获取第一个触点
                var x = Number(touch.pageX); //页面触点X坐标
                var y = Number(touch.pageY); //页面触点Y坐标
                //记录触点初始位置
                startX = x;
                startY = y;

                var text = 'TouchStart事件触发：（' + x + ', ' + y + '）';
                console.log(text);
            }
            catch (e) {
                alert('touchSatrtFunc：' + e.message);
            }
        },
        touchMoveFunc: function (evt) {
            try {
                evt.preventDefault(); //阻止触摸时浏览器的缩放、滚动条滚动等
                var touch = evt.touches[0]; //获取第一个触点
                var x = Number(touch.pageX); //页面触点X坐标
                var y = Number(touch.pageY); //页面触点Y坐标
                var text = 'TouchMove事件触发：（' + x + ', ' + y + '）';

                //判断滑动方向
                if (x - startX != 0) {
                    text += '<br/>左右滑动';
                }
                if (y - startY != 0) {
                    text += '<br/>上下滑动';
                }

                console.log(text);
            }
            catch (e) {
                alert('touchMoveFunc：' + e.message);
            }
        },
        touchEndFunc: function (evt) {
            try {
                evt.preventDefault(); //阻止触摸时浏览器的缩放、滚动条滚动等
                nChangX = evt.changedTouches[0].pageX;
                nChangY = evt.changedTouches[0].pageY;
                if (nChangX - startX > 10) {
                    console.log("left");
                } else if (nChangX - startX < -10) {
                    console.log("right");
                }
            }
            catch (e) {
                alert('touchEndFunc：' + e.message);
            }
        },
        bindEvent: function () {
            document.addEventListener('touchstart', this.touchSatrtFunc, false);
            document.addEventListener('touchmove', this.touchMoveFunc, false);
            document.addEventListener('touchend', this.touchEndFunc, false);
        },
        swipeleft: function () {
        },
        swiperight: function () {
        },
        swipetop: function () {
        },
        swipebottom: function () {
        },


    };
});
